// pages/staffDashboard/staffDashboard.js
var app = getApp();
Page({
  data: {
    userInfo: {}, // 用户信息
    currentTab: 'pending', // 当前标签页
    pendingCount: 0, // 待确认数量
    confirmedCount: 0, // 已确认数量
    pendingServices: [], // 待确认服务列表
    confirmedServices: [] ,// 已确认服务列表
	
	pendingPage: 1, // 待确认当前页码
	pendingPageSize: 20, // 每页条数
	pendingHasMore: true, // 是否还有更多待确认数据
	pendingLoading: false, // 是否正在加载待确认数据
	
	confirmedPage: 1, // 已确认当前页码
	confirmedPageSize: 20, // 每页条数
	confirmedHasMore: true, // 是否还有更多已确认数据
	confirmedLoading: false, // 是否正在加载已确认数据
  },

  onLoad() {
    // 获取用户信息
    const userInfo = wx.getStorageSync('staffInfo');
    this.setData({ userInfo });
    
    // 加载服务数据
    this.loadServicesNum();
    this.loadServices();
  },

  onShow() {
    // 页面显示时刷新数据
    this.loadServices();
  },
	loadServicesNum(){
		const self = this;
		app.util.request({
			url: 'Community/appintmentListNum',
			data: {
				m: app.mdName
			},
			success(res) {
				self.setData({
				  pendingCount: res.data.data.pendingCount,
				  confirmedCount: res.data.data.confirmedCount
				});
			}
		})
	},
  // 加载服务数据（修改为分页加载）
    loadServices(isLoadMore = false) {
		const self = this;
      if (this.data.currentTab === 'pending') {
        if (this.data.pendingLoading || !this.data.pendingHasMore) return;
        this.setData({ pendingLoading: true });        
        app.util.request({
        	url: 'Community/appintmentList',
        	data: {
        		m: app.mdName,
				page_no:self.data.pendingPage, 
				page_size:self.data.pendingPageSize, 
				status:'pending'
        	},
        	success(res) {
        		var newServices = res.data.data.Services;
        		self.setData({
        		  pendingServices: isLoadMore 
        		    ? [...self.data.pendingServices, ...newServices]
        		    : newServices,
        		  pendingHasMore: newServices.length >= self.data.pendingPageSize,
        		  pendingLoading: false,
        		  pendingPage: isLoadMore ? self.data.pendingPage + 1 : 1
        		});
        		
        		if (!isLoadMore) {
        		  wx.pageScrollTo({
        		    scrollTop: 0,
        		    duration: 300
        		  });
        		}
        	}
        })
      } else {
        if (self.data.confirmedLoading || !self.data.confirmedHasMore) return;
        self.setData({ confirmedLoading: true });
        
        app.util.request({
        	url: 'Community/appintmentList',
        	data: {
        		m: app.mdName,
        		page_no:self.data.confirmedPage, 
        		page_size:self.data.confirmedPageSize, 
        		status:'confirmed'
        	},
        	success(res) {
        		var newServices = res.data.data.Services;
        		console.log( res.data);
        		self.setData({
        		  confirmedServices: isLoadMore 
        		    ? [...self.data.confirmedServices, ...newServices]
        		    : newServices,
				  confirmedHasMore: newServices.length >= self.data.confirmedPageSize,
				  confirmedLoading: false,
				  confirmedPage: isLoadMore ? self.data.confirmedPage + 1 : 1
        		});
        		
        		if (!isLoadMore) {
        		  wx.pageScrollTo({
        		    scrollTop: 0,
        		    duration: 300
        		  });
        		}
        	}
        })
      }
    },
    // 加载更多数据
    loadMore() {
      this.loadServices(true);
    },
  
    // 切换标签页（修改）
    switchTab(e) {
      const tab = e.currentTarget.dataset.tab;
      if (this.data.currentTab === tab) return;
      
      this.setData({ currentTab: tab }, () => {
        // 切换标签后加载数据
        if ((tab === 'pending' && this.data.pendingServices.length === 0) || 
            (tab === 'confirmed' && this.data.confirmedServices.length === 0)) {
          this.loadServices();
        }
      });
    },


  // 确认服务
  confirmService(e) {
    const id = e.currentTarget.dataset.id;
	const self = this
    wx.showModal({
      title: '确认服务',
      content: '确定要接受此服务请求吗？',
      success: (res) => {
        if (res.confirm) {
          wx.showLoading({ title: '处理中...' });
          app.util.request({
          	url: 'Community/confirmOrder',
          	data: {
          		m: app.mdName,
				id:id
          	},
          	success(res) {
          		wx.showToast({ title: '服务已确认' });
          		self.loadServices(); // 刷新数据
          	}
          })
        }
      }
    });
  },

  // 拒绝服务
  rejectService(e) {
    const id = e.currentTarget.dataset.id;
    wx.showModal({
      title: '拒绝服务',
      content: '确定要拒绝此服务请求吗？',
      success: (res) => {
        if (res.confirm) {
          wx.showLoading({ title: '处理中...' });
          
          // 模拟API请求
          setTimeout(() => {
            // 在实际应用中，这里应该调用API更新状态
            wx.showToast({ title: '服务已拒绝' });
            this.loadServices(); // 刷新数据
          }, 800);
        }
      }
    });
  },

  // 完成服务
  completeService(e) {
    const id = e.currentTarget.dataset.id;
	const self = this
    wx.showModal({
      title: '完成服务',
      content: '确认此服务已完成？',
      success: (res) => {
        if (res.confirm) {
          wx.showLoading({ title: '处理中...' });
          
          app.util.request({
				url: 'Community/finishOrder',
				data: {
					m: app.mdName,
					id:id
				},
				success(res) {
					wx.showToast({ title: '服务已完成' });
					self.loadServices(); // 刷新数据
				}
			})
        }
      }
    });
  },

  // 查看详情
  viewDetail(e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
		url:'../communitydoctor/service_detail?id='+id
    });
  }
});